MAKE OBJECT COLLISION BOX

This command will make an object use box collision.

  Syntax
MAKE OBJECT COLLISION BOX Object Number, X1, Y1, Z1, X2, Y2, Z2, Collision Flag
  Parameters
Object Number
Integer
The object number
X1
Float
The first x value from the center of the object
Y1
Float
The first y value from the center of the object
Z1
Float
The first z value from the center of the object
X2
Float
The second x value from the center of the object
Y2
Float
The second y value from the center of the object
Z2
Float
The second z value from the center of the object
Collision Flag
Integer
If the flag value is one, the box is deemed to be a rotated-box and will provide more accurate collision feedback as the object rotates

  Returns

This command does not return a value.

  Description

If a value of zero is specified for the flag value, the box will be deemed to be a non-rotating box and able to generate sliding collision data using the GET OBJECT COLLISION X, Y and Z expressions. If the flag value is one, the box is deemed to be a rotated-box and will provide more accurate collision feedback as the object rotates. Be aware that the collision box you create is affected by the subsequent scaling of the object, and that when the object is rotated the fixed collision box orientation remains unrotated to aid in the effect of sliding collision.

  Example Code
sync on : sync rate 60 : hide mouse:cls 0
autocam off
set global collision on
ObjectNumber=1
SecondObject=2
make object sphere ObjectNumber,10
color object ObjectNumber,rgb(0,255,0)
position object ObjectNumber, 0,0,0
make object cone secondObject,10
xrotate object secondObject,90
fix object pivot secondObject
color object SecondObject,rgb(255,0,0)
position object SecondObject, 15,0,0
make object collision box ObjectNumber, -5,-5,-5,5,5,5,0
make object collision box SecondObject, -5,-5,-5,5,5,5,0
while mouseclick()=0
set cursor 0,0
if leftkey()=1 then turn object left SecondObject,1
if rightkey()=1 then turn object right SecondObject,1
if upkey()=1 and OBJECT HIT(SecondObject,0)=0 then move object SecondObject,1
if downkey()=1 and OBJECT HIT(SecondObject,0)=0 then move object SecondObject,-1
if returnkey()=1 then position object SecondObject,15,0,0
if OBJECT COLLISION(SecondObject,0)
print "OBJECT COLLISION"
print "GET OBJECT COLLISION X",GET OBJECT COLLISION X()
print "GET OBJECT COLLISION Y",GET OBJECT COLLISION y()
print "GET OBJECT COLLISION Z",GET OBJECT COLLISION z()
endif
sync
endwhile
delete object collision box ObjectNumber
delete object collision box SecondObject
set global collision off
delete object ObjectNumber
delete object SecondObject
end
  See also

BASIC3D Commands Menu
Index